/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.bomt.service;

import com.comac.ins.bomt.domain.DetailModelStatus;
import com.comac.ins.bomt.domain.DetailStrengthBom;
import com.comac.ins.bomt.domain.vo.DetailOriginalV2BomVo;
import com.comac.ins.bomt.domain.vo.DetailStandardBomVo;
import com.comac.ins.common.core.domain.model.LoginUser;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * Bom解析服务接口
 *
 * @author zhanghongyi
 * @date 2024 /8/28
 * @description BomFileParseService
 */
public interface BomFileParseService {
    /**
     * 解析模型状态清单
     *
     * @param loginUser     the login user
     * @param file          the file
     * @param aircraftModel the aircraft model
     * @param track         the track
     * @return the map
     */
    Map<String, List<DetailModelStatus>> parseModelStatus(LoginUser loginUser, MultipartFile file, String aircraftModel, String track);

    /**
     * 解析原始装机清单
     *
     * @param file the file
     * @return the list
     */
    List<DetailOriginalV2BomVo> parseOrigin(MultipartFile file);

    /**
     * 解析标准装机清单
     *
     * @param loginUser     the login user
     * @param file          the file
     * @param aircraftModel the aircraft model
     * @param track         the track
     * @return the map
     */
    Map<String, List<DetailStandardBomVo>> parseStandard(LoginUser loginUser, MultipartFile file, String aircraftModel, String track);

    /**
     * 解析强度数模清单
     *
     * @param loginUser     the login user
     * @param file          the file
     * @param aircraftModel the aircraft model
     * @param track         the track
     * @return the map
     */
    Map<String, List<DetailStrengthBom>> parseStrength(LoginUser loginUser, MultipartFile file, String aircraftModel, String track);
}
